[INFO] cloning repository https://github.com/miguelis/private_optimizer
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/miguelis/private_optimizer" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmiguelis%2Fprivate_optimizer", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmiguelis%2Fprivate_optimizer'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] bb457e85764b6ff7dad71d2b065bf85448f58d0a
[INFO] fixing miguelis/private_optimizer against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmiguelis%2Fprivate_optimizer" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/miguelis/private_optimizer
[INFO] finished tweaking git repo https://github.com/miguelis/private_optimizer
[INFO] tweaked toml for git repo https://github.com/miguelis/private_optimizer written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/miguelis/private_optimizer on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/miguelis/private_optimizer already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 17d5296f1580405e992871ab83c36f9776619eae88b830c9c53692a353448b47
[INFO] running `Command { std: "docker" "start" "17d5296f1580405e992871ab83c36f9776619eae88b830c9c53692a353448b47", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "17d5296f1580405e992871ab83c36f9776619eae88b830c9c53692a353448b47" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "17d5296f1580405e992871ab83c36f9776619eae88b830c9c53692a353448b47", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "17d5296f1580405e992871ab83c36f9776619eae88b830c9c53692a353448b47" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating optimizer/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating circom_algebra/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating constant_tracking/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating constraint_list/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating constraint_writers/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Compiling libc v0.2.112
[INFO] [stderr]    Compiling num-iter v0.1.42
[INFO] [stderr]    Compiling serde v1.0.133
[INFO] [stderr]     Checking smallvec v1.8.0
[INFO] [stderr]     Checking constant_tracking v2.0.1 (/opt/rustwide/workdir/constant_tracking)
[INFO] [stderr]     Checking json v0.12.4
[INFO] [stderr]    Compiling num-bigint-dig v0.6.1
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]    Migrating constant_tracking/src/lib.rs from 2018 edition to 2021
[INFO] [stderr]     Checking getrandom v0.1.16
[INFO] [stderr]     Checking num_cpus v1.13.1
[INFO] [stderr]     Checking threadpool v1.8.1
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking circom_algebra v2.0.1 (/opt/rustwide/workdir/circom_algebra)
[INFO] [stderr]    Migrating circom_algebra/src/lib.rs from 2018 edition to 2021
[INFO] [stderr]     Checking constraint_writers v2.0.1 (/opt/rustwide/workdir/constraint_writers)
[INFO] [stderr]    Migrating constraint_writers/src/lib.rs from 2018 edition to 2021
[INFO] [stderr]     Checking constraint_list v2.0.1 (/opt/rustwide/workdir/constraint_list)
[INFO] [stderr]    Migrating constraint_list/src/lib.rs from 2018 edition to 2021
[INFO] [stderr]     Checking optimizer v2.0.1 (/opt/rustwide/workdir/optimizer)
[INFO] [stderr]    Migrating optimizer/src/lib.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating optimizer/src/main.rs from 2018 edition to 2021
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.73s
[INFO] [stderr] crater-edition-check: optimizer v2.0.1 (/opt/rustwide/workdir/optimizer) updating edition from 2018 to 2021
[INFO] [stderr] crater-edition-check: circom_algebra v2.0.1 (/opt/rustwide/workdir/circom_algebra) updating edition from 2018 to 2021
[INFO] [stderr] crater-edition-check: constant_tracking v2.0.1 (/opt/rustwide/workdir/constant_tracking) updating edition from 2018 to 2021
[INFO] [stderr] crater-edition-check: constraint_list v2.0.1 (/opt/rustwide/workdir/constraint_list) updating edition from 2018 to 2021
[INFO] [stderr] crater-edition-check: constraint_writers v2.0.1 (/opt/rustwide/workdir/constraint_writers) updating edition from 2018 to 2021
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr]     Checking constant_tracking v2.0.1 (/opt/rustwide/workdir/constant_tracking)
[INFO] [stderr]     Checking circom_algebra v2.0.1 (/opt/rustwide/workdir/circom_algebra)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> circom_algebra/src/algebra.rs:1164:21
[INFO] [stdout]      |
[INFO] [stdout] 1164 |                 let mut monomial;
[INFO] [stdout]      |                     ----^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> circom_algebra/src/algebra.rs:1164:21
[INFO] [stdout]      |
[INFO] [stdout] 1164 |                 let mut monomial;
[INFO] [stdout]      |                     ----^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking constraint_writers v2.0.1 (/opt/rustwide/workdir/constraint_writers)
[INFO] [stdout] warning: unused variable: `field`
[INFO] [stdout]     --> circom_algebra/src/algebra.rs:1867:13
[INFO] [stdout]      |
[INFO] [stdout] 1867 |         let field = BigInt::parse_bytes(FIELD.as_bytes(), 10)
[INFO] [stdout]      |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_field`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking constraint_list v2.0.1 (/opt/rustwide/workdir/constraint_list)
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> constraint_list/src/lib.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet, LinkedList};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `constraint_writers::debug_writer::DebugWriter`
[INFO] [stdout]  --> constraint_list/src/lib.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use constraint_writers::debug_writer::DebugWriter;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `constraint_writers::ConstraintExporter`
[INFO] [stdout]  --> constraint_list/src/lib.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use constraint_writers::ConstraintExporter;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `A`
[INFO] [stdout]  --> constraint_list/src/constraint_simplification.rs:2:32
[INFO] [stdout]   |
[INFO] [stdout] 2 | use super::{ConstraintStorage, A, C, S, HashConstraint};
[INFO] [stdout]   |                                ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `circom_algebra::simplification_utils::build_encoded_fast_substitutions`
[INFO] [stdout]    --> constraint_list/src/constraint_simplification.rs:591:9
[INFO] [stdout]     |
[INFO] [stdout] 591 |     use circom_algebra::simplification_utils::build_encoded_fast_substitutions;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `circom_algebra::simplification_utils::fast_encoded_constraint_substitution`
[INFO] [stdout]    --> constraint_list/src/constraint_simplification.rs:592:9
[INFO] [stdout]     |
[INFO] [stdout] 592 |     use circom_algebra::simplification_utils::fast_encoded_constraint_substitution;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::mpsc`
[INFO] [stdout]    --> constraint_list/src/constraint_simplification.rs:594:9
[INFO] [stdout]     |
[INFO] [stdout] 594 |     use std::sync::mpsc;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `threadpool::ThreadPool`
[INFO] [stdout]    --> constraint_list/src/constraint_simplification.rs:595:9
[INFO] [stdout]     |
[INFO] [stdout] 595 |     use threadpool::ThreadPool;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `circom_algebra::modular_arithmetic::*`
[INFO] [stdout]  --> constraint_list/src/cluster_non_linear.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use circom_algebra::modular_arithmetic::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> constraint_list/src/lib.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet, LinkedList};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `constraint_writers::debug_writer::DebugWriter`
[INFO] [stdout]  --> constraint_list/src/lib.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use constraint_writers::debug_writer::DebugWriter;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `constraint_writers::ConstraintExporter`
[INFO] [stdout]  --> constraint_list/src/lib.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use constraint_writers::ConstraintExporter;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `A`
[INFO] [stdout]  --> constraint_list/src/constraint_simplification.rs:2:32
[INFO] [stdout]   |
[INFO] [stdout] 2 | use super::{ConstraintStorage, A, C, S, HashConstraint};
[INFO] [stdout]   |                                ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `circom_algebra::simplification_utils::build_encoded_fast_substitutions`
[INFO] [stdout]    --> constraint_list/src/constraint_simplification.rs:591:9
[INFO] [stdout]     |
[INFO] [stdout] 591 |     use circom_algebra::simplification_utils::build_encoded_fast_substitutions;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `circom_algebra::simplification_utils::fast_encoded_constraint_substitution`
[INFO] [stdout]    --> constraint_list/src/constraint_simplification.rs:592:9
[INFO] [stdout]     |
[INFO] [stdout] 592 |     use circom_algebra::simplification_utils::fast_encoded_constraint_substitution;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::mpsc`
[INFO] [stdout]    --> constraint_list/src/constraint_simplification.rs:594:9
[INFO] [stdout]     |
[INFO] [stdout] 594 |     use std::sync::mpsc;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `threadpool::ThreadPool`
[INFO] [stdout]    --> constraint_list/src/constraint_simplification.rs:595:9
[INFO] [stdout]     |
[INFO] [stdout] 595 |     use threadpool::ThreadPool;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `circom_algebra::modular_arithmetic::*`
[INFO] [stdout]  --> constraint_list/src/cluster_non_linear.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use circom_algebra::modular_arithmetic::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> constraint_list/src/constraint_simplification.rs:275:13
[INFO] [stdout]     |
[INFO] [stdout] 275 |         let n = Cluster::size(&cluster);
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> constraint_list/src/constraint_simplification.rs:351:9
[INFO] [stdout]     |
[INFO] [stdout] 351 |     for i in &minimal_clusters{
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c2`
[INFO] [stdout]    --> constraint_list/src/constraint_simplification.rs:390:18
[INFO] [stdout]     |
[INFO] [stdout] 390 |              for c2 in c.c(){
[INFO] [stdout]     |                  ^^ help: if this is intentional, prefix it with an underscore: `_c2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> constraint_list/src/constraint_simplification.rs:619:29
[INFO] [stdout]     |
[INFO] [stdout] 619 |         let (substitutions, mut constants) = linear_simplification(
[INFO] [stdout]     |                             ----^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> constraint_list/src/constraint_simplification.rs:661:9
[INFO] [stdout]     |
[INFO] [stdout] 661 |     let mut apply_only_affected = true;
[INFO] [stdout]     |         ----^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `constants`
[INFO] [stdout]    --> constraint_list/src/constraint_simplification.rs:619:29
[INFO] [stdout]     |
[INFO] [stdout] 619 |         let (substitutions, mut constants) = linear_simplification(
[INFO] [stdout]     |                             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_constants`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `apply_only_affected`
[INFO] [stdout]    --> constraint_list/src/constraint_simplification.rs:661:9
[INFO] [stdout]     |
[INFO] [stdout] 661 |     let mut apply_only_affected = true;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_apply_only_affected`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dur`
[INFO] [stdout]    --> constraint_list/src/constraint_simplification.rs:772:9
[INFO] [stdout]     |
[INFO] [stdout] 772 |     let dur = now.elapsed().unwrap().as_millis();
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_dur`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `round_id` is never read
[INFO] [stdout]    --> constraint_list/src/constraint_simplification.rs:637:9
[INFO] [stdout]     |
[INFO] [stdout] 637 |         round_id += 1;
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> constraint_list/src/constraint_simplification.rs:275:13
[INFO] [stdout]     |
[INFO] [stdout] 275 |         let n = Cluster::size(&cluster);
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `field`
[INFO] [stdout]   --> constraint_list/src/preprocess_non_linear.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 |         field: &BigInt,
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_field`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> constraint_list/src/constraint_simplification.rs:351:9
[INFO] [stdout]     |
[INFO] [stdout] 351 |     for i in &minimal_clusters{
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c2`
[INFO] [stdout]    --> constraint_list/src/constraint_simplification.rs:390:18
[INFO] [stdout]     |
[INFO] [stdout] 390 |              for c2 in c.c(){
[INFO] [stdout]     |                  ^^ help: if this is intentional, prefix it with an underscore: `_c2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> constraint_list/src/constraint_simplification.rs:619:29
[INFO] [stdout]     |
[INFO] [stdout] 619 |         let (substitutions, mut constants) = linear_simplification(
[INFO] [stdout]     |                             ----^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> constraint_list/src/constraint_simplification.rs:661:9
[INFO] [stdout]     |
[INFO] [stdout] 661 |     let mut apply_only_affected = true;
[INFO] [stdout]     |         ----^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `constants`
[INFO] [stdout]    --> constraint_list/src/constraint_simplification.rs:619:29
[INFO] [stdout]     |
[INFO] [stdout] 619 |         let (substitutions, mut constants) = linear_simplification(
[INFO] [stdout]     |                             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_constants`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `apply_only_affected`
[INFO] [stdout]    --> constraint_list/src/constraint_simplification.rs:661:9
[INFO] [stdout]     |
[INFO] [stdout] 661 |     let mut apply_only_affected = true;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_apply_only_affected`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dur`
[INFO] [stdout]    --> constraint_list/src/constraint_simplification.rs:772:9
[INFO] [stdout]     |
[INFO] [stdout] 772 |     let dur = now.elapsed().unwrap().as_millis();
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_dur`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `round_id` is never read
[INFO] [stdout]    --> constraint_list/src/constraint_simplification.rs:637:9
[INFO] [stdout]     |
[INFO] [stdout] 637 |         round_id += 1;
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `A` is never used
[INFO] [stdout]   --> constraint_list/src/lib.rs:18:6
[INFO] [stdout]    |
[INFO] [stdout] 18 | type A = circom_algebra::algebra::ArithmeticExpression<usize>;
[INFO] [stdout]    |      ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `SEncoded` is never used
[INFO] [stdout]   --> constraint_list/src/lib.rs:22:6
[INFO] [stdout]    |
[INFO] [stdout] 22 | type SEncoded = HashMap<usize, A>;
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `SFrames` is never used
[INFO] [stdout]   --> constraint_list/src/lib.rs:23:6
[INFO] [stdout]    |
[INFO] [stdout] 23 | type SFrames = LinkedList<SEncoded>;
[INFO] [stdout]    |      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_clusters_quadratic_equalities` is never used
[INFO] [stdout]   --> constraint_list/src/constraint_simplification.rs:94:4
[INFO] [stdout]    |
[INFO] [stdout] 94 | fn get_clusters_quadratic_equalities(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_clusters_definitions` is never used
[INFO] [stdout]    --> constraint_list/src/constraint_simplification.rs:133:4
[INFO] [stdout]     |
[INFO] [stdout] 133 | fn get_clusters_definitions(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_possible_combinations_clusters` is never used
[INFO] [stdout]    --> constraint_list/src/constraint_simplification.rs:212:4
[INFO] [stdout]     |
[INFO] [stdout] 212 | fn generate_possible_combinations_clusters(signal_to_clusters: &Vec<Vec<usize>>) 
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `field`
[INFO] [stdout]   --> constraint_list/src/preprocess_non_linear.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 |         field: &BigInt,
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_field`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `A` is never used
[INFO] [stdout]   --> constraint_list/src/lib.rs:18:6
[INFO] [stdout]    |
[INFO] [stdout] 18 | type A = circom_algebra::algebra::ArithmeticExpression<usize>;
[INFO] [stdout]    |      ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `SEncoded` is never used
[INFO] [stdout]   --> constraint_list/src/lib.rs:22:6
[INFO] [stdout]    |
[INFO] [stdout] 22 | type SEncoded = HashMap<usize, A>;
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `SFrames` is never used
[INFO] [stdout]   --> constraint_list/src/lib.rs:23:6
[INFO] [stdout]    |
[INFO] [stdout] 23 | type SFrames = LinkedList<SEncoded>;
[INFO] [stdout]    |      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_clusters_quadratic_equalities` is never used
[INFO] [stdout]   --> constraint_list/src/constraint_simplification.rs:94:4
[INFO] [stdout]    |
[INFO] [stdout] 94 | fn get_clusters_quadratic_equalities(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_clusters_definitions` is never used
[INFO] [stdout]    --> constraint_list/src/constraint_simplification.rs:133:4
[INFO] [stdout]     |
[INFO] [stdout] 133 | fn get_clusters_definitions(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_possible_combinations_clusters` is never used
[INFO] [stdout]    --> constraint_list/src/constraint_simplification.rs:212:4
[INFO] [stdout]     |
[INFO] [stdout] 212 | fn generate_possible_combinations_clusters(signal_to_clusters: &Vec<Vec<usize>>) 
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking optimizer v2.0.1 (/opt/rustwide/workdir/optimizer)
[INFO] [stdout] warning: unused import: `constraint_list::constraint_simplification`
[INFO] [stdout]  --> optimizer/src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use constraint_list::constraint_simplification;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `constraint_list::constraint_simplification`
[INFO] [stdout]  --> optimizer/src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use constraint_list::constraint_simplification;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num_var_out`
[INFO] [stdout]   --> optimizer/src/main.rs:92:9
[INFO] [stdout]    |
[INFO] [stdout] 92 |     let num_var_out = 0;
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_var_out`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ignored_line`
[INFO] [stdout]   --> optimizer/src/main.rs:94:9
[INFO] [stdout]    |
[INFO] [stdout] 94 |     let ignored_line = opt_line.next(); /*We ignore ~prime*/
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ignored_line`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num_var_out`
[INFO] [stdout]   --> optimizer/src/main.rs:92:9
[INFO] [stdout]    |
[INFO] [stdout] 92 |     let num_var_out = 0;
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_var_out`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `num_circuit_variables` is never read
[INFO] [stdout]   --> optimizer/src/main.rs:75:37
[INFO] [stdout]    |
[INFO] [stdout] 75 |     let mut num_circuit_variables = 0;
[INFO] [stdout]    |                                     ^ this value is reassigned later and never used
[INFO] [stdout] 76 |     match read_circuit_variables(circuit_variables_line){
[INFO] [stdout] 77 |         Some(value) => {num_circuit_variables = value;},
[INFO] [stdout]    |                         ----------------------------- `num_circuit_variables` is overwritten here before the previous value is read
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ignored_line`
[INFO] [stdout]   --> optimizer/src/main.rs:94:9
[INFO] [stdout]    |
[INFO] [stdout] 94 |     let ignored_line = opt_line.next(); /*We ignore ~prime*/
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ignored_line`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `num_circuit_variables` is never read
[INFO] [stdout]   --> optimizer/src/main.rs:75:37
[INFO] [stdout]    |
[INFO] [stdout] 75 |     let mut num_circuit_variables = 0;
[INFO] [stdout]    |                                     ^ this value is reassigned later and never used
[INFO] [stdout] 76 |     match read_circuit_variables(circuit_variables_line){
[INFO] [stdout] 77 |         Some(value) => {num_circuit_variables = value;},
[INFO] [stdout]    |                         ----------------------------- `num_circuit_variables` is overwritten here before the previous value is read
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `num_equalities` is never read
[INFO] [stdout]   --> optimizer/src/main.rs:82:30
[INFO] [stdout]    |
[INFO] [stdout] 82 |     let mut num_equalities = 0;
[INFO] [stdout]    |                              ^ this value is reassigned later and never used
[INFO] [stdout] 83 |     match read_number_equalities(number_equalities_line){
[INFO] [stdout] 84 |         Some(value) => {num_equalities = value;},
[INFO] [stdout]    |                         ---------------------- `num_equalities` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `num_equalities` is never read
[INFO] [stdout]   --> optimizer/src/main.rs:82:30
[INFO] [stdout]    |
[INFO] [stdout] 82 |     let mut num_equalities = 0;
[INFO] [stdout]    |                              ^ this value is reassigned later and never used
[INFO] [stdout] 83 |     match read_number_equalities(number_equalities_line){
[INFO] [stdout] 84 |         Some(value) => {num_equalities = value;},
[INFO] [stdout]    |                         ---------------------- `num_equalities` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> optimizer/src/main.rs:324:5
[INFO] [stdout]     |
[INFO] [stdout] 324 |     constraint_list::r1cs_porting::port_r1cs(&cl,"a.r1cs");
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 324 |     let _ = constraint_list::r1cs_porting::port_r1cs(&cl,"a.r1cs");
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> optimizer/src/main.rs:324:5
[INFO] [stdout]     |
[INFO] [stdout] 324 |     constraint_list::r1cs_porting::port_r1cs(&cl,"a.r1cs");
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 324 |     let _ = constraint_list::r1cs_porting::port_r1cs(&cl,"a.r1cs");
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.00s
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating optimizer/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating circom_algebra/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating constant_tracking/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating constraint_list/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating constraint_writers/Cargo.toml from 2018 edition to 2021
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr]     Checking constant_tracking v2.0.1 (/opt/rustwide/workdir/constant_tracking)
[INFO] [stderr]    Migrating constant_tracking/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking circom_algebra v2.0.1 (/opt/rustwide/workdir/circom_algebra)
[INFO] [stderr]    Migrating circom_algebra/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed circom_algebra/src/modular_arithmetic.rs (1 fix)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> circom_algebra/src/algebra.rs:1642:26
[INFO] [stdout]      |
[INFO] [stdout] 1641 |     let first_coefficient: BigInt = get_coefficient_smallest_signal(a);
[INFO] [stdout]      |         -----------------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `first_coefficient` calls a custom destructor
[INFO] [stdout]      |         `first_coefficient` will be dropped later as of Edition 2024
[INFO] [stdout] 1642 |     first_coefficient == BigInt::from(0)
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]      |                          |
[INFO] [stdout]      |                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                          up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 1643 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.8.0/src/lib.rs:1788:1
[INFO] [stdout]      |
[INFO] [stdout] 1788 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `first_coefficient` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.8.0/src/lib.rs:1788:1
[INFO] [stdout]      |
[INFO] [stdout] 1788 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> circom_algebra/src/modular_arithmetic.rs:223:15
[INFO] [stdout]      |
[INFO] [stdout]  219 |         let field = BigInt::parse_bytes(FIELD.as_bytes(), 10)
[INFO] [stdout]      |             -----
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `field` calls a custom destructor
[INFO] [stdout]      |             `field` will be dropped later as of Edition 2024
[INFO] [stdout]  220 |             .expect("generating the big int was not possible");
[INFO] [stdout]  221 |         let a = BigInt::from(17);
[INFO] [stdout]      |             -
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `a` calls a custom destructor
[INFO] [stdout]      |             `a` will be dropped later as of Edition 2024
[INFO] [stdout]  222 |         let b = BigInt::from(32);
[INFO] [stdout]      |             -
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `b` calls a custom destructor
[INFO] [stdout]      |             `b` will be dropped later as of Edition 2024
[INFO] [stdout]  223 |         match mod_op(&a, &b, &field) { Result::Ok(res) => {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |               |
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  228 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.8.0/src/lib.rs:1788:1
[INFO] [stdout]      |
[INFO] [stdout] 1788 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `field` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.8.0/src/lib.rs:1788:1
[INFO] [stdout]      |
[INFO] [stdout] 1788 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `a` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.8.0/src/lib.rs:1788:1
[INFO] [stdout]      |
[INFO] [stdout] 1788 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `b` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.8.0/src/lib.rs:1788:1
[INFO] [stdout]      |
[INFO] [stdout] 1788 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> circom_algebra/src/algebra.rs:1642:26
[INFO] [stdout]      |
[INFO] [stdout] 1641 |     let first_coefficient: BigInt = get_coefficient_smallest_signal(a);
[INFO] [stdout]      |         -----------------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `first_coefficient` calls a custom destructor
[INFO] [stdout]      |         `first_coefficient` will be dropped later as of Edition 2024
[INFO] [stdout] 1642 |     first_coefficient == BigInt::from(0)
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]      |                          |
[INFO] [stdout]      |                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                          up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 1643 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.8.0/src/lib.rs:1788:1
[INFO] [stdout]      |
[INFO] [stdout] 1788 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `first_coefficient` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.8.0/src/lib.rs:1788:1
[INFO] [stdout]      |
[INFO] [stdout] 1788 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking constraint_list v2.0.1 (/opt/rustwide/workdir/constraint_list)
[INFO] [stderr]     Checking constraint_writers v2.0.1 (/opt/rustwide/workdir/constraint_writers)
[INFO] [stderr]    Migrating constraint_list/src/lib.rs from 2021 edition to 2024
[INFO] [stdout] error[E0463]: can't find crate for `constraint_writers`
[INFO] [stdout]  --> constraint_list/src/lib.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use constraint_writers::debug_writer::DebugWriter;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^ can't find crate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0463`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `constraint_list` (lib test) due to 1 previous error
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0463]: can't find crate for `constraint_writers`
[INFO] [stdout]  --> constraint_list/src/lib.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use constraint_writers::debug_writer::DebugWriter;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^ can't find crate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating constraint_writers/src/lib.rs from 2021 edition to 2024
[INFO] [stdout] For more information about this error, try `rustc --explain E0463`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `constraint_list` (lib) due to 1 previous error
[INFO] running `Command { std: "docker" "inspect" "17d5296f1580405e992871ab83c36f9776619eae88b830c9c53692a353448b47", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "17d5296f1580405e992871ab83c36f9776619eae88b830c9c53692a353448b47", kill_on_drop: false }`
[INFO] [stdout] 17d5296f1580405e992871ab83c36f9776619eae88b830c9c53692a353448b47
